home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS075.dsk / CRIBBAGE.int < prev    next >
Text File  |  2012-02-16  |  12KB  |  407 lines

  1. 0 TEXT :CALL -936: POKE -16300,0:CALL -380:NO TRACE 
  2. 5 TAB 11:PRINT "APPLE II ";:CALL -384:PRINT "C<CTRL-G>R<CTRL-G>I<CTRL-G>B<CTRL-G>B<CTRL-G>A<CTRL-G>G<CTRL-G>E<CTRL-G>":CALL -380:FOR I=1 TO 500:NEXT I
  3. 6 PRINT :TAB 6:PRINT "BY: A<CTRL-G>LA<CTRL-G>N AND G<CTRL-G>RA<CTRL-G>HA<CTRL-G>M CHAPMAN"
  4. 7 PRINT :TAB 4:PRINT "FROM THE OTTAWA 6502 USER GROUP"
  5. 8 PRINT :PRINT :PRINT "TO PLAY A CARD (OR GIVE TO BOX),SIMPLY  TYPE THE NUMBER OF THAT CARD (STARTING  FROM THE LEFT)"
  6. 9 VTAB 24
  7. 10 FOR I=1 TO 3000:NEXT I
  8. 20  POKE 74,0: POKE 75,8: POKE 204,0: POKE 205,8
  9. 30  POKE 66,0: POKE 67,12: POKE 62, PEEK (76): POKE 63, PEEK (77):L= PEEK (76):H= PEEK (77)
  10. 40 H=H-24: POKE 60,L: POKE 61,H:CALL -468
  11. 60  POKE 66,0: POKE 67,64: POKE 60,0: POKE 61,32: POKE 62,0: POKE 63,36:CALL -468
  12. 65 DIM NMB$(12),SCR(11)
  13. 67 LM= PEEK (74)+256* PEEK (75)
  14. 70 TSTSCR=16825:HNDSCR=16851:CRBSCR=16884:ALLSCR=16972:PLYSCR=17148:BASRNK=16967
  15. 75 FLTT=17431:PRTT=17432:PRCNT=17433:TOT15=17434:NBTT=17435:RNTT=17436:RNCNT=17437:TOT31=17438:SCRTT=17439:PLYTT=17454
  16. 80 NWGM=0
  17. 90 CALL -936:VTAB 24
  18. 94 PRINT " RUNS   :PAIRS   :15'S   :FLUSH  !TOTAL! 31'S   :GO      :   FOR THE JACK!     !";
  19. 98 PRINT " MY SCORE:              YOUR SCORE:"
  20. 100 DIM CHND(6),PHND(6)
  21. 110 DIM CDSCD(4),PDSCD(4)
  22. 120 DIM CRIB(4),PACK(52)
  23. 125 DIM CHND1(6):DIM PHND1(6):DIM DSCD(8):DIM DSCD1(8)
  24. 128 NMB$=" 0123456789"
  25. 130 CMPLOCX=10:CMPLOCY=0:PLYLOCX=10:PLYLOCY=110
  26. 140 CRBLOCX=10:CRBLOCY=50:CDSCDLOCX=150:CDSCDLOCY=0:PDSCDLOCX=150
  27. 145 PDSCDLOCY=110
  28. 150 PACKLOCX=128:PACKLOCY=50
  29. 160 CSCR=0:PSCR=0
  30. 180 CALL 3072
  31. 185 VTAB 21
  32. 190  POKE 34,23: POKE 37,23
  33. 200 REM  SHUFFLE THE CARDS
  34. 201 PRINT 
  35. 202 PRINT "<CTRL-G>SHUFFLING";
  36. 205 FOR I=1 TO 52:PACK(I)=I:NEXT I
  37. 210 FOR I=1 TO 52:MIX=1+ RND (52):K=PACK(MIX):PACK(MIX)=PACK(I):PACK(I)=K
  38. 220 NEXT I
  39. 250 IF NWGM=1 THEN 400
  40. 300 REM  CUT FOR DEAL
  41. 305 PRINT 
  42. 310 PRINT "<CTRL-G>CUTTING FOR DEAL";
  43. 320 A= RND (52):B= RND (52)
  44. 322 IF (A MOD 13)=(B MOD 13) THEN 320
  45. 324 X=CMPLOCX:Y=CMPLOCY
  46. 328 CARD=1+A:GOSUB 6000
  47. 330 A=RANK+1:IF A=14 THEN A=1
  48. 340 X=PLYLOCX:Y=PLYLOCY
  49. 344 CARD=1+B:GOSUB 6000
  50. 350 B=RANK+1:IF B=14 THEN B=0
  51. 360 IF A>B THEN GOTO 380
  52. 365 PRINT 
  53. 370 PRINT "<CTRL-G>MY DEAL AND CRIB";:CMPDL=1
  54. 375 GOTO 390
  55. 380 PRINT 
  56. 385 PRINT "<CTRL-G>YOUR DEAL AND CRIB";:CMPDL=0
  57. 390 FOR I=1 TO 300:NEXT I
  58. 400 REM  DEAL THE CARDS
  59. 405 NWGM=1:CALL 3072
  60. 410 FOR I=1 TO 6:CHND(I)=PACK(I):NEXT I
  61. 420 FOR I=1 TO 6:PHND(I)=PACK(6+I):NEXT I
  62. 425 IF CMPDL=1 THEN 455
  63. 430 FOR I=1 TO 6:X=CMPLOCX+15*(I-1):Y=CMPLOCY:CARD=0:GOSUB 6000
  64. 435 X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=PHND(I):GOSUB 6000:NEXT I
  65. 450 GOTO 465
  66. 455 FOR I=1 TO 6:X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=PHND(I):GOSUB 6000
  67. 460 X=CMPLOCX+15*(I-1):Y=CMPLOCY:CARD=0:GOSUB 6000:NEXT I
  68. 465 X=PACKLOCX:Y=PACKLOCY:CARD=0:GOSUB 6000
  69. 470 NCC=6:NPC=6:NCP=0
  70. 480 FOR I=1 TO 8:DSCD(I)=0
  71. 490 FOR I=1 TO 8:DSCD1(I)=0
  72. 500 REM  DISCARD TO THE BOX
  73. 503 PRINT 
  74. 505 PRINT "<CTRL-G>DISCARD TO THE CRIB,ME FIRST";
  75. 510 FOR I=1 TO 6: POKE I,CHND(I):NEXT I:CALL ALLSCR
  76. 514 FOR I=1 TO 6:CHND(I)= PEEK (I):NEXT I:CRIB(1)=CHND(5)
  77. 516 CRIB(2)=CHND(6)
  78. 517 NCC=4
  79. 518 FOR I=1 TO 6:X=CMPLOCX+15*(I-1):Y=CMPLOCY:CARD=-1:GOSUB 6000:NEXT I
  80. 519 PRINT 
  81. 520 PRINT "<CTRL-G>HERE'S MY TWO";
  82. 522 X=CRBLOCX:Y=CRBLOCY:CARD=0:GOSUB 6000
  83. 524 X=CRBLOCX+15:Y=CRBLOCY:CARD=0:GOSUB 6000
  84. 525 FOR I=1 TO 4:X=CMPLOCX+15*(I-1):Y=CMPLOCY:CARD=0:GOSUB 6000:NEXT I
  85. 530 PRINT 
  86. 532 IF CMPDL THEN 538
  87. 535 PRINT "<CTRL-G>SELECT TWO CARDS FOR YOUR CRIB";
  88. 537 GOTO 540
  89. 538 PRINT "<CTRL-G>SELECT TWO CARDS FOR MY CRIB";
  90. 540 C= PEEK (-16384):IF C<128 THEN GOTO 540
  91. 550 C=C-176:IF (C<1) OR (C>6) THEN 540: POKE -16368,0
  92. 560 CRIB(3)=PHND(C)
  93. 570 D= PEEK (-16384):IF D<128 THEN GOTO 570
  94. 575 D=D-176:IF (D<1) OR (D>6) THEN 570: POKE -16368,0
  95. 580 IF C#D THEN 585
  96. 581 PRINT 
  97. 583 PRINT "<CTRL-G><CTRL-G>OU ALREADY GAVE THAT ONE!";:GOTO 570
  98. 585 CRIB(3)=PHND(C):CRIB(4)=PHND(D)
  99. 586 NPC=4
  100. 587 J=1:FOR I=1 TO 6:PHND(J)=PHND(I)
  101. 588 J=J+(I#C)*(I#D):NEXT I
  102. 592 FOR I=1 TO 6:X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=-1:GOSUB 6000:NEXT I
  103. 594 X=CRBLOCX+30:Y=CRBLOCY:CARD=0:GOSUB 6000
  104. 596 X=CRBLOCX+45:Y=CRBLOCY:CARD=0:GOSUB 6000
  105. 597 FOR I=1 TO 4:X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=PHND(I):GOSUB 6000:NEXT I
  106. 600 REM  TURN UP A CARD
  107. 603 PRINT 
  108. 605 IF CMPDL THEN 615
  109. 607 PRINT "<CTRL-G>HIT A KEY TO CUT THE PACK";
  110. 610 IF  PEEK (-16384)<128 THEN 610: POKE -16368,0
  111. 611 PRINT :GOTO 620
  112. 615 PRINT "<CTRL-G>I CUT THE PACK";:FOR I=1 TO 100:NEXT I
  113. 620 X=PACKLOCX:Y=PACKLOCY:CARD=PACK(13):TC=CARD:GOSUB 6000
  114. 623 PL=NOT CMPDL
  115. 625 IF RANK#10 THEN 700
  116. 628 PRINT 
  117. 630 PRINT "SCORE TWO FOR HIS HEELS";
  118. 650 HEELS=1:P=NOT CMPDL
  119. 660 GOSUB 4000
  120. 670 HEELS=0
  121. 700 REM  PLAY THE GAME**********************************************************
  122. 705 NWGM=1:STP=0
  123. 710 PFLAG=0:CFLAG=0
  124. 720 IF (PL#1) AND (NWGM=1) THEN 2000
  125. 1000 REM     PLAYERS TURN *****************************************************
  126. 1005 IF NPC=0 THEN PFLAG=1+(CFLAG#0)
  127. 1010 IF PFLAG#0 THEN GOTO 2000
  128. 1015 P=1
  129. 1020 GOSUB 8700
  130. 1030 IF GO=0 THEN 1400
  131. 1035 PRINT 
  132. 1040 PRINT "<CTRL-G>YOUR TURN";
  133. 1050 C= PEEK (-16384):C=C-176
  134. 1060 IF (C<1) OR (C>NPC) THEN 1050
  135. 1065  POKE -16368,0
  136. 1070 NPC=NPC-1
  137. 1080 NCP=NCP+1
  138. 1085 K=PHND(C):PHND(C)=PHND(NPC+1):PHND(NPC+1)=K
  139. 1090 DSCD(NCP)=K
  140. 1100 FOR I=1 TO NCP
  141. 1110  POKE I,DSCD(I)
  142. 1120 NEXT I
  143. 1130  POKE 0,NCP
  144. 1140 CALL PLYSCR
  145. 1150 IF  PEEK (PLYTT)<32 THEN 1200
  146. 1160 PRINT :PRINT "<CTRL-G><CTRL-G>TOO BIG";
  147. 1165 NPC=NPC+1:NCP=NCP-1
  148. 1170 K=PHND(C):PHND(C)=PHND(NPC):PHND(NPC)=K
  149. 1175 FOR I=1 TO 100:NEXT I
  150. 1180 VTAB 24:TAB 1:CALL -868:GOTO 1040
  151. 1190 GOTO 1050
  152. 1200 FOR I=1 TO NPC+1:X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=-1:GOSUB 6000:NEXT I
  153. 1210 X=PDSCDLOCX+(3-NPC)*15:Y=PDSCDLOCY:CARD=DSCD(NCP):GOSUB 6000
  154. 1215 IF NPC=0 THEN 1230
  155. 1220 FOR I=1 TO NPC:X=PLYLOCX+15*(I-1):Y=PLYLOCY:CARD=PHND(I):GOSUB 6000:NEXT I
  156. 1230 P=1
  157. 1240 GOSUB 4000
  158. 1250 IF  PEEK (PLYTT)#31 THEN 1260
  159. 1254 CFLAG=1:PFLAG=2
  160. 1260 GOTO 2000
  161. 1400 IF PFLAG>0 THEN 2000
  162. 1410 PRINT 
  163. 1420 PRINT "<CTRL-G>YOU CAN'T GO";
  164. 1440 PFLAG=1+(CFLAG#0)
  165. 1450 GOTO 2000
  166. 2000 REM    COMPUTERS TURN******************************************************
  167. 2003 NWGM=0
  168. 2005 IF CFLAG#0 THEN 2785
  169. 2010 IF NCC=0 THEN CFLAG=1+(PFLAG#0)
  170. 2510 IF CFLAG#0 THEN 2785
  171. 2515 IF NCP=0 THEN 2770
  172. 2518 P=0
  173. 2520 GOSUB 8700
  174. 2530 IF GO=0 THEN 2740
  175. 2540 PRINT 
  176. 2545 PRINT "<CTRL-G>MY TURN";
  177. 2550 NCC=NCC-1
  178. 2560 NCP=NCP+1
  179. 2570 K=CHND(BEST):CHND(BEST)=CHND(NCC+1):CHND(NCC+1)=K
  180. 2580 DSCD(NCP)=K
  181. 2610 X=CMPLOCX+15*(NCC):Y=CMPLOCY:CARD=-1:GOSUB 6000
  182. 2615 IF NCC=0 THEN 2630
  183. 2620 X=CMPLOCX+15*(NCC-1):Y=CMPLOCY:CARD=0:GOSUB 6000
  184. 2625 IF NCC=0 THEN 2632
  185. 2630 X=CDSCDLOCX+(3-NCC)*15:Y=CDSCDLOCY:CARD=DSCD(NCP):GOSUB 6000
  186. 2632 FOR I=1 TO NCP
  187. 2633  POKE I,DSCD(I)
  188. 2634 NEXT I
  189. 2635  POKE 0,NCP
  190. 2636 CALL PLYSCR
  191. 2640 P=0
  192. 2650 GOSUB 4000
  193. 2652 IF  PEEK (PLYTT)#31 THEN 2660
  194. 2654 PFLAG=1:CFLAG=2
  195. 2660 GOTO 2785
  196. 2740 IF CFLAG>0 THEN 2785
  197. 2743 PRINT 
  198. 2745 PRINT "<CTRL-O><CTRL-G>I CAN'T GO";
  199. 2750 CFLAG=1+(PFLAG#0)
  200. 2760 GOTO 2785
  201. 2770 BEST=1+ RND (NCC)
  202. 2780 GOTO 2540
  203. 2785 IF (PFLAG>0) AND (CFLAG>0) THEN 3000
  204. 2790 GOTO 1000
  205. 3000 REM   PLAY STOPPED IF BOTH CAN'T         GO    ********************************************************************
  206. 3003 IF  PEEK (PLYTT)=31 THEN 3010
  207. 3005 STP=1:P=PFLAG>CFLAG:GOSUB 4000:STP=0
  208. 3010 IF (NCC=0) AND (NPC=0) THEN 3170
  209. 3020 FOR I=1 TO (4-NCC)
  210. 3030 X=CDSCDLOCX+15*(I-1)
  211. 3040 Y=CDSCDLOCY
  212. 3050 CARD=0
  213. 3060 GOSUB 6000
  214. 3070 NEXT I
  215. 3080 FOR I=1 TO (4-NPC)
  216. 3090 X=PDSCDLOCX+15*(I-1)
  217. 3100 Y=PDSCDLOCY
  218. 3110 CARD=0
  219. 3120 GOSUB 6000
  220. 3130 NEXT I
  221. 3140 NCP=0
  222. 3145 PL=0
  223. 3150 IF CFLAG>PFLAG THEN PL=1
  224. 3160 GOTO 700
  225. 3170 GOSUB 8000
  226. 3190 IF END=1 THEN 170
  227. 3195 GOTO 700
  228. 4000 REM   DISPLAY THE SCORE**********        ******************************** 
  229. 4050 IF HEELS THEN 4500
  230. 4070 IF STP THEN 4600
  231. 4100 FOR I=1 TO 9:SCR(I)= PEEK (17430+I):NEXT I
  232. 4110 SCR= PEEK (SCRTT)
  233. 4120 SCR(10)=0
  234. 4130 A=7:B=6:GOSUB 4140
  235. 4131 A=16:B=2:GOSUB 4140
  236. 4132 A=24:B=4:GOSUB 4140
  237. 4133 A=32:B=1:GOSUB 4140
  238. 4134 A=135:B=8:GOSUB 4140
  239. 4135 A=144:B=10:GOSUB 4140
  240. 4136 A=147:B=5:GOSUB 4140
  241. 4138 GOSUB 4170
  242. 4139 GOTO 4200
  243. 4140 BB=(1+SCR(B)/10)+(SCR(B)>9)
  244. 4142 A=1615+A
  245. 4145  POKE A, ASC(NMB$(BB,BB))
  246. 4150 BB=(1+SCR(B) MOD 10)+(SCR(B)>0)
  247. 4155  POKE (A+1), ASC(NMB$(BB,BB))
  248. 4160 RETURN 
  249. 4170 A=1778:B=0
  250. 4185 BB=(1+SCR(B)/10)+(SCR(B)>9)
  251. 4187  POKE (A+1), ASC(NMB$(BB,BB))
  252. 4190 BB=(2+SCR(B) MOD 10)
  253. 4195  POKE (A+2), ASC(NMB$(BB,BB))
  254. 4199 RETURN 
  255. 4200 REM  DISPLAY PLAYERS SCORES
  256. 4250 CSCR=CSCR+SCR*(P=0)
  257. 4260 PSCR=PSCR+SCR*(P=1)
  258. 4320 A=CSCR*(P=0)+PSCR*(P=1)
  259. 4325 B=1884*(P=0)+1908*(P=1)
  260. 4330 BB=(1+A/100)+(A>99)
  261. 4340  POKE B, ASC(NMB$(BB,BB))
  262. 4350 BB=(1+(A MOD 100)/10)+(A>9)
  263. 4360  POKE B+1, ASC(NMB$(BB,BB))
  264. 4370 BB=(2+A MOD 10)
  265. 4380  POKE B+2, ASC(NMB$(BB,BB))
  266. 4400 IF (PSCR>=121) THEN 4430
  267. 4410 IF (CSCR>=121) THEN 4460
  268. 4420 RETURN 
  269. 4430 PRINT 
  270. 4432 PRINT "YOU WIN!";:FOR I=1 TO 10:CALL -198:VTAB 24:TAB 1:CALL -868:PRINT "HIT ANY KEY TO PLAY AGAIN"
  271. 4435 REM   LOOK FOR A KEY 
  272. 4440 GOTO 4480
  273. 4460 PRINT 
  274. 4462 PRINT "I WIN!";:FOR I=1 TO 10:CALL -198:NEXT I:VTAB 24:TAB 1:CALL -868:PRINT "HIT ANY KEY TO PLAY AGAIN";
  275. 4465 REM   LOOK FOR A KEY 
  276. 4480 P= PEEK (-16384):IF P<128 THEN 4480: POKE -16368,0
  277. 4490  POKE 204,0: POKE 205,8
  278. 4492 POP 
  279. 4495 GOTO 65
  280. 4500 CSCR=CSCR+2*CMPDL:PSCR=PSCR+2*(CMPDL=0)
  281. 4510  POKE 1762,178
  282. 4520 GOTO 4320
  283. 4600 CSCR=CSCR+(NOT P):PSCR=PSCR+P
  284. 4610  POKE 1760,177
  285. 4620 SCR=SCR+1
  286. 4630 GOSUB 4170
  287. 4690 GOTO 4320
  288. 4800 BB=(1+B/100)+(B>99)
  289. 4810  POKE A, ASC(NMB$(BB,BB))
  290. 4820 BB=(1+(B MOD 100))+(B>9)
  291. 4830  POKE (A+1), ASC(NMB$(BB,BB))
  292. 4840 BB=(2+B MOD 10)
  293. 4850  POKE (A+2), ASC(NMB$(BB,BB))
  294. 5000 REM    DISPLAY ALL THE CARDS                 **************************** 
  295. 5505 CALL 3072
  296. 5507 X=PACKLOCX:Y=PACKLOCY:CARD=TC:GOSUB 6000
  297. 5510 FOR I=1 TO 4
  298. 5600 X=CMPLOCX+15*(I-1)
  299. 5610 Y=CMPLOCY
  300. 5620 CARD=CHND(I)
  301. 5630 GOSUB 6000
  302. 5640 X=CRBLOCX+15*(I-1)
  303. 5650 Y=CRBLOCY
  304. 5660 CARD=CRIB(I)
  305. 5670 GOSUB 6000
  306. 5680 X=PLYLOCX+15*(I-1)
  307. 5690 Y=PLYLOCY
  308. 5700 CARD=PHND(I)
  309. 5710 GOSUB 6000
  310. 5720 NEXT I
  311. 5730 RETURN 
  312. 6000 REM   DRAW A CARD                  ****************************************
  313. 6030 IF CARD>=0 THEN 6050
  314. 6040 RANK=0:SUIT=1:GOTO 6330
  315. 6050 IF CARD#0 THEN 6100
  316. 6070 RANK=1:SUIT=0:GOTO 6330
  317. 6100 RANK=1+(CARD-1) MOD 13
  318. 6150 SUIT=1+(CARD-1)/13
  319. 6300 RANK=RANK-1:IF RANK=0 THEN RANK=13
  320. 6330  POKE 6635,X
  321. 6332  POKE 6636,0
  322. 6334  POKE 6637,Y
  323. 6336  POKE 6638,RANK
  324. 6338  POKE 6639,SUIT
  325. 6340 CALL 6650
  326. 6360 RETURN 
  327. 8000 REM   SCORE THE HANDS                **************************************
  328. 8002 PRINT :PRINT "<CTRL-G>"
  329. 8003 PRINT "END OF HAND SCORES";
  330. 8005 GOSUB 5000
  331. 8010 IF CMPDL=1 THEN 8300
  332. 8100 FOR I=1 TO 4
  333. 8110  POKE I,CHND(I)
  334. 8120 NEXT I
  335. 8130  POKE 5,TC
  336. 8131 PRINT 
  337. 8132 PRINT "<CTRL-G>HIT A KEY TO SEE MY HAND SCORE";
  338. 8133 IF  PEEK (-16384)<128 THEN 8133: POKE -16368,0
  339. 8134 PRINT 
  340. 8135 PRINT "MY HAND";
  341. 8140 CALL HNDSCR
  342. 8150 P=0
  343. 8160 GOSUB 4000
  344. 8165 FOR I=1 TO 400:NEXT I
  345. 8170 IF CMPDL#1 THEN 8300
  346. 8171 PRINT 
  347. 8172 PRINT "<CTRL-G>HIT A KEY TO SEE MY CRIB SCORE";
  348. 8173 IF  PEEK (-16384)<128 THEN 8173: POKE -16368,0
  349. 8174 PRINT 
  350. 8175 PRINT "MY CRIB";
  351. 8180 GOSUB 8500
  352. 8190 P=0
  353. 8200 GOSUB 4000
  354. 8205 FOR I=1 TO 400:NEXT I
  355. 8210 GOTO 8600
  356. 8300 FOR I=1 TO 4
  357. 8310  POKE I,PHND(I)
  358. 8320 NEXT I
  359. 8330  POKE 5,TC
  360. 8331 PRINT 
  361. 8332 PRINT "<CTRL-G><CTRL-F>HIT A KEY TO SEE YOUR HAND SCORE";
  362. 8333 IF  PEEK (-16384)<128 THEN 8333: POKE -16368,0
  363. 8334 PRINT 
  364. 8335 PRINT "YOUR HAND";
  365. 8340 CALL HNDSCR
  366. 8350 P=1
  367. 8360 GOSUB 4000
  368. 8365 FOR I=1 TO 400:NEXT I
  369. 8370 IF CMPDL=1 THEN 8100
  370. 8371 PRINT 
  371. 8372 PRINT "<CTRL-G>HIT A KEY TO SEE YOUR CRIB SCORE";
  372. 8373 IF  PEEK (-16384)<128 THEN 8373: POKE -16368,0
  373. 8374 PRINT 
  374. 8375 PRINT "YOUR CRIB";
  375. 8380 GOSUB 8500
  376. 8390 P=1
  377. 8400 GOSUB 4000
  378. 8405 FOR I=1 TO 400:NEXT I
  379. 8410 GOTO 8600
  380. 8500 FOR I=1 TO 4
  381. 8510  POKE I,CRIB(I)
  382. 8520 NEXT I
  383. 8530  POKE 5,TC
  384. 8540 CALL CRBSCR
  385. 8550 RETURN 
  386. 8600 CALL 3072
  387. 8650 NWGM=1:CMPDL=NOT CMPDL:PL=NOT CMPDL:GOTO 200
  388. 8700 REM    FIND THE BEST CARD TO LAY   ****************************************
  389. 8705 L=NCC*(P=0)+NPC*(P=1)
  390. 8706 FOR I=1 TO L
  391. 8710 FOR J=1 TO NCP
  392. 8720  POKE J,DSCD(J)
  393. 8730 NEXT J
  394. 8740  POKE 0,NCP+1
  395. 8770  POKE (NCP+1),(CHND(I)*(P=0)+PHND(I)*(P=1))
  396. 8780 CALL PLYSCR
  397. 8790 CHND1(I)= PEEK (SCRTT)
  398. 8800 IF ( PEEK (PLYTT))>31 THEN CHND1(I)=-1
  399. 8810 NEXT I
  400. 8820 BEST=1
  401. 8830 FOR I=1 TO L
  402. 8840 IF CHND1(I)>CHND1(BEST) THEN BEST=I
  403. 8850 NEXT I
  404. 8860 GO=(CHND1(BEST)>-1)
  405. 8870 RETURN 
  406. Listing error: possible embedded machine code.
  407.